59 WDT_A_hold(WDT_A_BASE);
62 GPIO_setAsPeripheralModuleFunctionOutputPin(
65 GPIO_PRIMARY_MODULE_FUNCTION
74 CS_setDCOFreq(CS_DCORSEL_0, CS_DCOFSEL_3);
76 CS_initClockSignal(CS_SMCLK, CS_DCOCLK_SELECT, CS_CLOCK_DIVIDER_8);
77 CS_initClockSignal(CS_MCLK, CS_DCOCLK_SELECT, CS_CLOCK_DIVIDER_8);
78 CS_initClockSignal(CS_ACLK, CS_VLOCLK_SELECT, CS_CLOCK_DIVIDER_1);
83 HSPLL_xtalInitParam xtalParam = {0};
84 xtalParam.oscillatorType = HSPLL_XTAL_OSCTYPE_XTAL;
85 xtalParam.oscillatorEnable = HSPLL_XTAL_ENABLE;
86 xtalParam.xtlOutput = HSPLL_XTAL_OUTPUT_ENABLE;
87 HSPLL_xtalInit(HSPLL_BASE, &xtalParam);
90 while(HSPLL_getOscillatorStatus(HSPLL_BASE) == HSPLL_OSCILLATOR_NOT_STABILIZED);
94 Timer_A_initUpModeParam timerParam = {0};
95 timerParam.timerPeriod = 5;
96 timerParam.captureCompareInterruptEnable_CCR0_CCIE =
97 TIMER_A_CCIE_CCR0_INTERRUPT_ENABLE;
99 timerParam.clockSource = TIMER_A_CLOCKSOURCE_ACLK;
101 timerParam.timerClear = TIMER_A_DO_CLEAR;
102 timerParam.startTimer =
true;
103 Timer_A_initUpMode(TA4_BASE, &timerParam);
106 __bis_SR_register(LPM3_bits | GIE);
117 HSPLL_initParam hspllParam = {0};
118 hspllParam.multiplier = PLLM_19_H;
119 hspllParam.frequency = HSPLL_GREATER_THAN_6MHZ;
120 HSPLL_init(HSPLL_BASE, &hspllParam);
123 UUPS_turnOnPower(UUPS_BASE, UUPS_POWERUP_TRIGGER_SOURCE_USSPWRUP);
126 while(UUPS_getPowerModeStatus(UUPS_BASE) != UUPS_POWERMODE_READY);
129 while(HSPLL_isLocked(HSPLL_BASE) == HSPLL_UNLOCKED);
135 SAPH_unlock(SAPH_BASE);
136 SAPH_configPPGCountParam saphCountConfig = {0};
137 saphCountConfig.pauseLevel = SAPH_PPG_PAUSE_LEVEL_LOW;
138 saphCountConfig.pausePolarity = SAPH_PPG_PAUSE_POLARITY_HIGH;
139 saphCountConfig.excitationPulseCount = 0x000A;
140 SAPH_configurePPGCount(SAPH_BASE, &saphCountConfig);
142 SAPH_setPPGLowPeriod(SAPH_BASE, 4);
144 SAPH_setPPGHighPeriod(SAPH_BASE, 4);
146 SAPH_configPHYParam saphPHYConfig = {0};
148 saphPHYConfig.outputFunction = SAPH_PHY_OUTPUT_PULSEGENERATOR_SINGLE_DRIVE;
149 SAPH_configurePHY(SAPH_BASE, &saphPHYConfig);
152 SAPH_configPPGParam saphConfig = {0};
153 saphConfig.triggerSource = SAPH_PPG_TRIGGER_SOURCE_TIMER;
154 saphConfig.channelSelect = SAPH_PPG_CHANNEL_0;
155 saphConfig.portSelect = SAPH_PPG_PORT_CHARGED_BY_PPG;
156 SAPH_configurePPG(SAPH_BASE, &saphConfig);
160 Timer_A_initUpModeParam timerParam2 = {0};
161 timerParam2.timerPeriod = 9400;
163 TA2CCTL1 = OUTMOD_7 | CCIE;
165 timerParam2.clockSource = TIMER_A_CLOCKSOURCE_ACLK;
167 timerParam2.timerClear = TIMER_A_DO_CLEAR;
168 timerParam2.startTimer =
true;
169 Timer_A_initUpMode(TA2_BASE, &timerParam2);
175 __bis_SR_register(LPM0_bits | GIE);
182 #if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
183 #pragma vector = TIMER2_A1_VECTOR
184 __interrupt
void Timer2_A1_ISR(
void)
185 #elif defined(__GNUC__)
186 void __attribute__ ((interrupt(TIMER2_A1_VECTOR))) Timer2_A1_ISR (
void)
188 #error Compiler not supported!
191 switch(__even_in_range(TA2IV, TAIV__TAIFG))
193 case TAIV__NONE:
break;
195 GPIO_toggleOutputOnPin(GPIO_PORT_P1, GPIO_PIN0);
197 case TAIV__TAIFG:
break;
203 #if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
204 #pragma vector = TIMER4_A0_VECTOR
205 __interrupt
void Timer4_A0_ISR(
void)
206 #elif defined(__GNUC__)
207 void __attribute__ ((interrupt(TIMER4_A0_VECTOR))) Timer4_A0_ISR (
void)
209 #error Compiler not supported!
213 Timer_A_startCounter(TA4_BASE, TIMER_A_STOP_MODE);
__bic_SR_register_on_exit(LPM3_bits|GIE)